#include <iostream>
using namespace std;
float a[100];
void two(int i, int j, float &fmin2, float &fmin1)
{
    float lmin2, lmin1, rmin2, rmin1;
    int mid;
    if (i == j)
    {
        fmin2 = fmin1 = a[i];
    }
    else if (i == j - 1)
    {
        if (a[i] < a[j])
        {
            fmin2 = a[j];
            fmin1 = a[i];
        }
        else
        {
            fmin2 = a[i];
            fmin1 = a[j];
        }
    }
    else
    {
        mid = (i + j) / 2;
        two(i, mid, lmin2, lmin1);
        two(mid + 1, j, rmin2, rmin1);
        if (lmin1 < rmin1)
        {
            if (lmin2 < rmin1)
            {
                fmin1 = lmin1;
                fmin2 = lmin2;
            }
            else
            {
                fmin1 = lmin1;
                fmin2 = rmin1;
            }
        }
        else
        {
            if (rmin2 < lmin1)
            {
                fmin1 = rmin1;
                fmin2 = rmin2;
            }
            else
            {
                fmin1 = rmin1;
                fmin2 = lmin1;
            }
        }
    }
}
int second(int n)
{
    float min2, min1;
    two(0, n - 1, min2, min1);
    return min2;
}
int main()
{
    int n;
    float min2;
    cout << "请输入您要输入的数字个数:";
    cin >> n;
    cout << "请输入数字:\n";
    for (int i = 0; i < n; i = i + 1)
    {
        cin >> a[i];
        min2 = second(n);
    }
    cout << "第二小的数为:" << min2;
}